The Development of Type Systems for Object-Oriented Languages
Kathleen Fisher,
Computer Science Department, Stanford University, Stanford, CA 94305,
kfisher@cs.stanford.edu
(Supported in part by a Fannie and John Hertz Foundation Fellowship
and NSF Grant CCR-9303099.)
John C. Mitchell,
Computer Science Department, Stanford University, Stanford, CA 94305
(Supported in part by NSF Grant CCR-9303099 and
the Wallace F. and Lucille M. Davis Faculty Scholarship.)
Abstract
This paper, which is partly tutorial in nature,
summarizes some basic research goals in the study and development of
typed object-oriented programming languages. These include both
immediate repairs to problems with existing languages and the
long-term development of more flexible and expressive, yet type-safe,
approaches to program organization and design. The technical part of
the paper is a summary and comparison of three object models from the
literature. We conclude by discussing approaches to selected research
problems, including changes in the type of a method from super class
to sub-class and the use of types that give information about the
implementations as well as the interfaces of objects. Such
implementation types seem essential for adequate typing of binary
operations on objects, for example.